#include <stdio.h>

//有一行电文译文下面规律译成密码:
//A->Z  a->z
//B->Y b->y
//C->X c->x.
//即第一个字母变成第26个字母，第i个字母变成第（26-i+1)个字母
//非字母字符不变，要求编程序将密码回原文，并打印出密码和原文。
//     aaa ZZZ BBB bbb
int main(int argc, char *argv[])
{
    char str[100];
    int i=0,length=0;
    printf("请输入需要加密字符串：\n");
    gets(str);
    printf("输入的需要加密的字符串：%s\n",str);

    while (str[i]!='\0')
    {
       if(str[i]>=97&&str[i]<=122)
        {
            if(str[i]<109)
               {
                str[i] =109 + 109-str[i]+1;
               }
               else
               {
                str[i] =109-(str[i]-109)+1;
               }
        }
        if(str[i]>=65&&str[i]<=90)
        {
            if(str[i]<77)
               {
                str[i] =77+77 -str[i]+1;
               }
               else
               {
                str[i] =77-(str[i]-77)+1;
               }
        }
        i++;
    }

    printf("输出结果：\n%s",str);
    printf("\n解密>>>>>>>>>>>>\n");
        i=0;
    while (str[i]!='\0')
    {
       if(str[i]>=97&&str[i]<=122)
        {
            if(str[i]<109)
               {
                str[i] =109 + 109-str[i]+1;
               }
               else
               {
                str[i] =109-(str[i]-109)+1;
               }
        }
        if(str[i]>=65&&str[i]<=90)
        {
            if(str[i]<77)
               {
                str[i] =77+77 -str[i]+1;
               }
               else
               {
                str[i] =77-(str[i]-77)+1;
               }
        }
        i++;
    }
    printf("解密结果：\n%s",str);
}
